#
# Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
# SPDX-License-Identifier: MIT
#

list(APPEND armnnNeonBackendWorkloads_sources
    NeonAbsWorkload.cpp
    NeonAbsWorkload.hpp
    NeonActivationWorkload.cpp
    NeonActivationWorkload.hpp
    NeonAdditionWorkload.cpp
    NeonAdditionWorkload.hpp
    NeonArgMinMaxWorkload.cpp
    NeonArgMinMaxWorkload.hpp
    NeonBatchNormalizationWorkload.cpp
    NeonBatchNormalizationWorkload.hpp
    NeonBatchToSpaceNdWorkload.cpp
    NeonBatchToSpaceNdWorkload.hpp
    NeonCastWorkload.cpp
    NeonCastWorkload.hpp
    NeonChannelShuffleWorkload.cpp
    NeonChannelShuffleWorkload.hpp
    NeonComparisonWorkload.cpp
    NeonComparisonWorkload.hpp
    NeonConcatWorkload.cpp
    NeonConcatWorkload.hpp
    NeonConstantWorkload.cpp
    NeonConstantWorkload.hpp
    NeonConvertBf16ToFp32Workload.cpp
    NeonConvertBf16ToFp32Workload.hpp
    NeonConvertFp16ToFp32Workload.cpp
    NeonConvertFp16ToFp32Workload.hpp
    NeonConvertFp32ToBf16Workload.cpp
    NeonConvertFp32ToBf16Workload.hpp
    NeonConvertFp32ToFp16Workload.cpp
    NeonConvertFp32ToFp16Workload.hpp
    NeonConvolution2dWorkload.cpp
    NeonConvolution2dWorkload.hpp
    NeonConvolution3dWorkload.cpp
    NeonConvolution3dWorkload.hpp
    NeonDepthToSpaceWorkload.cpp
    NeonDepthToSpaceWorkload.hpp
    NeonDepthwiseConvolutionWorkload.cpp
    NeonDepthwiseConvolutionWorkload.hpp
    NeonDequantizeWorkload.cpp
    NeonDequantizeWorkload.hpp
    NeonDetectionPostProcessWorkload.cpp
    NeonDetectionPostProcessWorkload.hpp
    NeonExpWorkload.cpp
    NeonExpWorkload.hpp
    NeonFillWorkload.cpp
    NeonFillWorkload.hpp
    NeonFloorFloatWorkload.cpp
    NeonFloorFloatWorkload.hpp
    NeonFullyConnectedWorkload.cpp
    NeonFullyConnectedWorkload.hpp
    NeonGatherWorkload.cpp
    NeonGatherWorkload.hpp
    NeonGatherNdWorkload.cpp
    NeonGatherNdWorkload.hpp
    NeonInstanceNormalizationWorkload.cpp
    NeonInstanceNormalizationWorkload.hpp
    NeonL2NormalizationFloatWorkload.cpp
    NeonL2NormalizationFloatWorkload.hpp
    NeonLogWorkload.cpp
    NeonLogWorkload.hpp
    NeonLogicalAndWorkload.cpp
    NeonLogicalAndWorkload.hpp
    NeonLogicalNotWorkload.cpp
    NeonLogicalNotWorkload.hpp
    NeonLogicalOrWorkload.cpp
    NeonLogicalOrWorkload.hpp
    NeonLogSoftmaxWorkload.cpp
    NeonLogSoftmaxWorkload.hpp
    NeonLstmFloatWorkload.cpp
    NeonLstmFloatWorkload.hpp
    NeonMaximumWorkload.cpp
    NeonMaximumWorkload.hpp
    NeonMeanWorkload.cpp
    NeonMeanWorkload.hpp
    NeonMinimumWorkload.cpp
    NeonMinimumWorkload.hpp
    NeonMultiplicationWorkload.cpp
    NeonMultiplicationWorkload.hpp
    NeonDivisionWorkload.cpp
    NeonDivisionWorkload.hpp
    NeonNegWorkload.cpp
    NeonNegWorkload.hpp
    NeonNormalizationFloatWorkload.cpp
    NeonNormalizationFloatWorkload.hpp
    NeonPadWorkload.cpp
    NeonPadWorkload.hpp
    NeonPermuteWorkload.cpp
    NeonPermuteWorkload.hpp
    NeonPooling2dWorkload.cpp
    NeonPooling2dWorkload.hpp
    NeonPooling3dWorkload.hpp
    NeonPooling3dWorkload.cpp
    NeonPreluWorkload.cpp
    NeonPreluWorkload.hpp
    NeonQLstmWorkload.cpp
    NeonQLstmWorkload.hpp
    NeonQuantizedLstmWorkload.cpp
    NeonQuantizedLstmWorkload.hpp
    NeonQuantizeWorkload.cpp
    NeonQuantizeWorkload.hpp
    NeonRankWorkload.hpp
    NeonReduceWorkload.cpp
    NeonReduceWorkload.hpp
    NeonReshapeWorkload.cpp
    NeonReshapeWorkload.hpp
    NeonResizeWorkload.cpp
    NeonResizeWorkload.hpp
    NeonRsqrtWorkload.cpp
    NeonRsqrtWorkload.hpp
    NeonSinWorkload.cpp
    NeonSinWorkload.hpp
    NeonSliceWorkload.cpp
    NeonSliceWorkload.hpp
    NeonSoftmaxWorkload.cpp
    NeonSoftmaxWorkload.hpp
    NeonSpaceToBatchNdWorkload.cpp
    NeonSpaceToBatchNdWorkload.hpp
    NeonSpaceToDepthWorkload.cpp
    NeonSpaceToDepthWorkload.hpp
    NeonSplitterWorkload.cpp
    NeonSplitterWorkload.hpp
    NeonSqrtWorkload.cpp
    NeonSqrtWorkload.hpp
    NeonStackWorkload.cpp
    NeonStackWorkload.hpp
    NeonStridedSliceWorkload.cpp
    NeonStridedSliceWorkload.hpp
    NeonSubtractionWorkload.cpp
    NeonSubtractionWorkload.hpp
    NeonTransposeConvolution2dWorkload.cpp
    NeonTransposeConvolution2dWorkload.hpp
    NeonTransposeWorkload.cpp
    NeonTransposeWorkload.hpp
    NeonUnidirectionalSequenceLstmFloatWorkload.cpp
    NeonUnidirectionalSequenceLstmFloatWorkload.hpp
    NeonUnidirectionalSequenceLstmWorkload.cpp
    NeonUnidirectionalSequenceLstmWorkload.hpp
    NeonWorkloads.hpp
    NeonWorkloadUtils.hpp
)

add_library(armnnNeonBackendWorkloads OBJECT ${armnnNeonBackendWorkloads_sources})
target_include_directories(armnnNeonBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
target_include_directories(armnnNeonBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
target_include_directories(armnnNeonBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
target_include_directories(armnnNeonBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
target_include_directories(armnnNeonBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
target_include_directories(armnnNeonBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include)
